package com.marvels.financial.loan.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;
import com.marvels.financial.loan.dto.McfeReconciliyResultDTO;
import com.marvels.financial.loan.dto.ReconcilyConditionDTO;
import com.marvels.financial.loan.dto.ReconcilystatistisDTO;

public interface McfeReconciliyResultDao {
    int deleteByPrimaryKey(Long resultId);

    int insert(McfeReconciliyResultDTO record);

    int insertSelective(McfeReconciliyResultDTO record);

    McfeReconciliyResultDTO selectByPrimaryKey(Long resultId);

    int updateByPrimaryKeySelective(McfeReconciliyResultDTO record);

    int updateByPrimaryKey(McfeReconciliyResultDTO record);
    
    
    /**
     * 统计对账
     * @param recordId
     * @return
     */
    public ReconcilystatistisDTO statistisByRecordId(@Param("recordId") Integer recordId);
    
    
    /**
     * 统计feeType
     * @param recordId
     * @return
     */
    public List<ReconcilystatistisDTO> getFeeTypeMoneyByRecordId(@Param("recordId") Integer recordId);
    
    
    
    
    /**
     * 查询对账不一致列表
     * @param dto
     * @return
     */
    public Page<McfeReconciliyResultDTO> queryDetailList(ReconcilyConditionDTO dto);
    
    
    
    /**
     * 根据批次号更新为失效状态
     * @param batchId
     * @return
     */
    public int updateByBatchId(@Param(value="batchId") String batchId);
    
    
    /**
     * 查询对账失败的记录
     * @param recordId
     * @return
     */
    public List<McfeReconciliyResultDTO>  selectFailByRecordId(@Param(value="recordId") Integer recordId);
}